package com.gopay.common.domain.cps.gp;

import com.gopay.common.constants.approval.DecisionValue;
import com.gopay.common.domain.bank.BcdlMessage;
import com.gopay.common.domain.cust.CustBankAcctInfo;

import java.io.Serializable;

/**
 * Created by hjy on 14-4-16.
 * 
 * P2P提现到银行卡
 */
public class GP01301VO extends CpsGpDrawVO {
    /**
     * 提现银行ID
     */
    private Long bankId;

    /**
     * 提现操作类型 1：提现申请 2:申请确认 3：控制台初审 4：控制台终审 
     * 6:自动结算之手动更新付款状态
     * 7:自动结算之JOB零点判断 8:自动结算之JOB十点银企直连
     * 11:自动结算之重做乐观锁异常订单
     */
    private String stepType;

    /**
     * 审批结果（仅控制台审批） DecisionValue
     */
    private DecisionValue decision;

    /**
     * 审批描述（仅控制台审批）
     */
    private String decisionMsg;

    /**
     * 控制台审批人
     */
    private String operatorId;

    /**
     * 银企直联
     */
    private BcdlMessage bcdl;

    /**
     * 是否线下支付
     */
    private boolean isOffPay;

    /**
     * 线下付款银行代码
     */
    private String offLineBankCode;

    /**
     * 线下付款银行订单号
     */
    private String offLineBankOrderNum;

    private String userSessionId;
    private String userTranIp;
    
    /**
     * 自动结算的节假日白名单规则ID
     */
    private String ruleId;
    
    /**
     * 是否自动结算转线下
     */
    private boolean isAuto2Offline = false;

    public Long getBankId() {
        return bankId;
    }

    public void setBankId(Long bankId) {
        this.bankId = bankId;
    }

    public String getStepType() {
        return stepType;
    }

    public void setStepType(String stepType) {
        this.stepType = stepType;
    }

    public DecisionValue getDecision() {
        return decision;
    }

    public void setDecision(DecisionValue decision) {
        this.decision = decision;
    }

    public String getDecisionMsg() {
        return decisionMsg;
    }

    public void setDecisionMsg(String decisionMsg) {
        this.decisionMsg = decisionMsg;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public BcdlMessage getBcdl() {
        return bcdl;
    }

    public void setBcdl(BcdlMessage bcdl) {
        this.bcdl = bcdl;
    }

    public boolean isOffPay() {
        return isOffPay;
    }

    public void setOffPay(boolean isOffPay) {
        this.isOffPay = isOffPay;
    }

    public String getOffLineBankCode() {
        return offLineBankCode;
    }

    public void setOffLineBankCode(String offLineBankCode) {
        this.offLineBankCode = offLineBankCode;
    }

    public String getOffLineBankOrderNum() {
        return offLineBankOrderNum;
    }

    public void setOffLineBankOrderNum(String offLineBankOrderNum) {
        this.offLineBankOrderNum = offLineBankOrderNum;
    }

    public String getUserSessionId() {
        return userSessionId;
    }

    public void setUserSessionId(String userSessionId) {
        this.userSessionId = userSessionId;
    }

    public String getUserTranIp() {
        return userTranIp;
    }

    public void setUserTranIp(String userTranIp) {
        this.userTranIp = userTranIp;
    }

    public String getRuleId() {
        return ruleId;
    }

    public void setRuleId(String ruleId) {
        this.ruleId = ruleId;
    }

	public boolean isAuto2Offline() {
		return isAuto2Offline;
	}

	public void setAuto2Offline(boolean isAuto2Offline) {
		this.isAuto2Offline = isAuto2Offline;
	}
    
}
